package com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.casualtiesDE.repository;

import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.casualtiesDE.entity.*;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.casualtiesDE.param.CasualtiesDECalculationParam;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.casualtiesDE.vo.CasualtiesCalculationVO;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.casualtiesDE.vo.CasualtiesResultVO;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.casualtiesDE.vo.ExportVO;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.entity.EarthquakeAffectedField;
import com.css.fxfzfxqh.modules.buildings.definitiveEvaluation.resistEarthquakesDE.param.AssessParam;
import com.css.fxfzfxqh.modules.largeScreen.entity.Calculation;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface CasualtiesDERepository {
    void addAssess(CasualtiesDE param);

    CasualtiesDE findById(String id);

    void upDateAssess(CasualtiesDE param);

    String queryLatest(StringBuilder code);

    Map<String, Object> getPage(int curPage, int pageSize, AssessParam param);

    void batchCalculation(List<CasualtiesDECalculation> list);

    Map<String, Object> queryCalculation(Integer curPage, Integer pageSize, String id, String condition, String casualties, String time,String seismicInputMode);

    void updateCorrectionValue(String id, BigDecimal correctionValue,String time,String casualties);

    List<ExportVO> getListPCC(CasualtiesDECalculationParam param);

    List<CasualtiesResult> getListXY(CasualtiesDECalculationParam param);

    void batchSaveCasualtyResult(List<CasualtiesResult> finalResultList);

    List<EarthquakeAffectedField> getInfluenceListByVersion(String influenceVersion);

    void batchSaveCasualtyTempResult(List<CasualtiesResult> finalResultList);

    List<CasualtiesResultVO> getTempEvaluateResult(List<String> idList,String assessId);

    List<String> getSeismicInfluence(String intensityVersion);

    void batchSaveCasualtyResultVO(List<CasualtiesResultVO> list);

    void deleteEvaluateResult(String assessId, String seismicInputMode);
    void deleteEvaluateResult1(String assessId);

    void batchDelete(String assessId);

    List<ProbabilityLevel> getAllIntensityByVersion(String version,String province,String city,String county);

    List<ProbabilityLevel> getAllPgaByVersion(String version,String province,String city,String county);

    List<StructureHouseUsingPercent> getStructureHouseUsingPercent();

    List<ProbabilityLevel> getLdList(String assessId, String ppName, String cityName, String name, String version);

    List<ProbabilityLevel> getPagList(String assessId, String ppName, String cityName, String name, String version);

    List<Map<String, Object>> getSumByDivisionAndAssessCodes(String s, String s1, String s2, String assessCodes,String condition,String condition_type);

    String isGeomValid(String geomText);

    List<Calculation> getValue(List<String> taskIdList, String code, String type);

    List<CasualtiesCalculationVO> getCasualtiesResult(String taskId, String province, String condition, String casualties, String time, String seismicInputMode);
}
